package com.jiarong.repository;

import com.jiarong.domain.User;

import java.util.List;

/**
 * @author 加绒
 * @date 2021/10/16 0:05
 */
public interface UserDao {
    /**
     * 查询所有用户信息
     *
     * @return 用户集合
     */
    List<User> selectAll();

    /**
     * 保存用户
     *
     * @param user 用户信息
     * @return 用户ID
     */
    Long insertUser(User user);

    /**
     * 保存用户角色关系
     *
     * @param userId  用户ID
     * @param roleIds 角色ID数组
     */
    void insertUserRoleRelation(Long userId, Long[] roleIds);

    /**
     * 删除用户角色关系
     *
     * @param userId 用户ID
     */
    void deleteUserRoleRelationByUserId(Long userId);

    /**
     * 删除用户
     *
     * @param userId 用户ID
     */
    void deleteUser(Long userId);

    /**
     * 用户登录
     *
     * @param username 用户名
     * @param password 密码
     * @return 用户信息
     */
    User login(String username, String password);
}
